feat(adapters): per-host notice delivery advertisements (#99 stage 4) - #362
Conversation
🦋 Changeset detectedLatest commit: cc44aad The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cc44aad537
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…s when generating MCP entries Addresses the #362 review: the per-host noticeDelivery tables were unreachable through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery and TargetRegistry.noticeDelivery(target) now expose the typed advertisement (built-ins read their pinned tables; plugin advertises the three-host intersection; the registry re-validates JavaScript adapters and fails closed), and build/inspect pass it to the generated route MCP entry, which wires the inbox resources/subscribe + resources/updated route only where the host advertises mcp-resource-updated.
…s when generating MCP entries Addresses the #362 review: the per-host noticeDelivery tables were unreachable through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery and TargetRegistry.noticeDelivery(target) now expose the typed advertisement (built-ins read their pinned tables; plugin advertises the three-host intersection; the registry re-validates JavaScript adapters and fails closed), and build/inspect pass it to the generated route MCP entry, which wires the inbox resources/subscribe + resources/updated route only where the host advertises mcp-resource-updated.
…s when generating MCP entries Addresses the #362 review: the per-host noticeDelivery tables were unreachable through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery and TargetRegistry.noticeDelivery(target) now expose the typed advertisement (built-ins read their pinned tables; plugin advertises the three-host intersection; the registry re-validates JavaScript adapters and fails closed), and build/inspect pass it to the generated route MCP entry, which wires the inbox resources/subscribe + resources/updated route only where the host advertises mcp-resource-updated.
…s when generating MCP entries Addresses the #362 review: the per-host noticeDelivery tables were unreachable through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery and TargetRegistry.noticeDelivery(target) now expose the typed advertisement (built-ins read their pinned tables; plugin advertises the three-host intersection; the registry re-validates JavaScript adapters and fails closed), and build/inspect pass it to the generated route MCP entry, which wires the inbox resources/subscribe + resources/updated route only where the host advertises mcp-resource-updated.
…s when generating MCP entries Addresses the #362 review: the per-host noticeDelivery tables were unreachable through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery and TargetRegistry.noticeDelivery(target) now expose the typed advertisement (built-ins read their pinned tables; plugin advertises the three-host intersection; the registry re-validates JavaScript adapters and fails closed), and build/inspect pass it to the generated route MCP entry, which wires the inbox resources/subscribe + resources/updated route only where the host advertises mcp-resource-updated.
…s when generating MCP entries Addresses the #362 review: the per-host noticeDelivery tables were unreachable through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery and TargetRegistry.noticeDelivery(target) now expose the typed advertisement (built-ins read their pinned tables; plugin advertises the three-host intersection; the registry re-validates JavaScript adapters and fails closed), and build/inspect pass it to the generated route MCP entry, which wires the inbox resources/subscribe + resources/updated route only where the host advertises mcp-resource-updated.
…s when generating MCP entries Addresses the #362 review: the per-host noticeDelivery tables were unreachable through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery and TargetRegistry.noticeDelivery(target) now expose the typed advertisement (built-ins read their pinned tables; plugin advertises the three-host intersection; the registry re-validates JavaScript adapters and fails closed), and build/inspect pass it to the generated route MCP entry, which wires the inbox resources/subscribe + resources/updated route only where the host advertises mcp-resource-updated.
…s when generating MCP entries Addresses the #362 review: the per-host noticeDelivery tables were unreachable through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery and TargetRegistry.noticeDelivery(target) now expose the typed advertisement (built-ins read their pinned tables; plugin advertises the three-host intersection; the registry re-validates JavaScript adapters and fails closed), and build/inspect pass it to the generated route MCP entry, which wires the inbox resources/subscribe + resources/updated route only where the host advertises mcp-resource-updated.
…s when generating MCP entries Addresses the #362 review: the per-host noticeDelivery tables were unreachable through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery and TargetRegistry.noticeDelivery(target) now expose the typed advertisement (built-ins read their pinned tables; plugin advertises the three-host intersection; the registry re-validates JavaScript adapters and fails closed), and build/inspect pass it to the generated route MCP entry, which wires the inbox resources/subscribe + resources/updated route only where the host advertises mcp-resource-updated.
…s when generating MCP entries Addresses the #362 review: the per-host noticeDelivery tables were unreachable through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery and TargetRegistry.noticeDelivery(target) now expose the typed advertisement (built-ins read their pinned tables; plugin advertises the three-host intersection; the registry re-validates JavaScript adapters and fails closed), and build/inspect pass it to the generated route MCP entry, which wires the inbox resources/subscribe + resources/updated route only where the host advertises mcp-resource-updated.
…s when generating MCP entries Addresses the #362 review: the per-host noticeDelivery tables were unreachable through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery and TargetRegistry.noticeDelivery(target) now expose the typed advertisement (built-ins read their pinned tables; plugin advertises the three-host intersection; the registry re-validates JavaScript adapters and fails closed), and build/inspect pass it to the generated route MCP entry, which wires the inbox resources/subscribe + resources/updated route only where the host advertises mcp-resource-updated.
…s when generating MCP entries Addresses the #362 review: the per-host noticeDelivery tables were unreachable through TargetAdapter and nothing consumed them. TargetAdapter.noticeDelivery and TargetRegistry.noticeDelivery(target) now expose the typed advertisement (built-ins read their pinned tables; plugin advertises the three-host intersection; the registry re-validates JavaScript adapters and fails closed), and build/inspect pass it to the generated route MCP entry, which wires the inbox resources/subscribe + resources/updated route only where the host advertises mcp-resource-updated.
…s/updated wiring on them (#99, #362 follow-up) (#412) * fix(adapters): expose notice delivery advertisements to the compiler and gate the notice routes on them - add a per-target noticeDelivery advertisement to TargetAdapter and the registry, with the delivery shape defined locally in the compiler (adapters/notice-delivery.ts) so the optional runtime peer never enters public declarations; a test asserts mutual assignability with @agent-bundle/runtime/notices - wire the mcp-inbox route only when the target advertises it as supported, and mcp-resource-updated only when both it and the inbox are advertised; thread noticeDelivery through entries, build, and inspect-bundler - consumer-facing changeset for agent-bundle * fix(adapters): require an ISO survey date in unavailable notice-route reasons; state the diagnostic-code impact in the changeset
Summary
noticeDeliverycapability-table section on all four pinned hosts, matching the runtime route selector's vocabulary from feat(notices): #99 stage-4 delivery substrate (runtime half) #361mcp-inbox/mcp-resource-updatedsupported everywhere;next-event/current-responsesupported on the three hook-bearing hosts and honestly unavailable on hookless portable;directed-push/host-toastdated-unavailable on every host per the 2026-09-02 survey (no documented plugin-initiated push or toast APIs)Test plan